支援度:Can I Use
接續前一天的Dark Mode/Light Mode切換,在網頁最外層套上主題class,是需要程式輔助判斷套上,如果沒有程式幫忙的時候呢?
CSS出了一個media特性prefers-color-scheme
,可以自動檢測使用者
prefers-color-scheme
@media (prefers-color-scheme:light){
.container{
background:#fff;
color:#1b1b1b;
}
}
@media (prefers-color-scheme:dark){
.container{
background:#1b1b1b;
color:#fff;
}
}
結合前一天的CSS變數的另種寫法:
.container{
background:var(--background-primary);
color:var(--text-primary);
}
@media (prefers-color-scheme:light){
:root{
--background-primary:#fff;
--text-primary:#1b1b1b;
}
}
@media (prefers-color-scheme:dark){
:root{
--background-primary:#1b1b1b;
--text-primary:#fff;
}
}
IT15-Day04-Create A Dark/Light Mode Switch with prefers-color-scheme
參考MDN寫的一個小範例,大家可以試試看!
2023/09/19實測發現:
主題偵測的是系統(裝置)的Light Mode/Dark Mode變換,而不是瀏覽器的Light Mode/Dark Mode。